#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

//const int N = 100010;
//int t[N];
//int n;
//
//int main()
//{
//    scanf("%d", &n);
//    for (int i = 0; i < n; i++)  scanf("%d", &t[i]);
//
//    sort(t, t + n);
//
//    int res = 0;
//    int x = t[n / 2];
//    for (int i = 0; i < n; i++)
//    {
//        res += abs(t[i] - x);
//    }
//    printf("%d", res);
//    return 0;
//}

#include<climits>


typedef pair<int, int> PII;

const int N = 50010;
PII t[N];
int n;

int main()
{
    scanf("%d", &n);

    for (int i = 0; i < n; i++)
    {
        int w, s;
        scanf("%d%d", &w, &s);
        t[i] = { w + s,w };
    }

    sort(t, t + n);

    int sum = 0, res = INT_MIN;
    for (int i = 0; i < n; i++)
    {
        int w = t[i].second, s = t[i].first - t[i].second;
        res = max(res, sum - s);
        sum += w;
    }
    printf("%d", res);
    return 0;
}

int findPeakElement(vector<int>& nums) {
    int l = 0, r = nums.size() - 1;
    while (l < r)
    {
        int m = l + r >> 1;
        if (nums[m] > nums[m + 1])
            r = m;
        else
            l = m + 1;
    }
    return l;
}